Top 10k strings from Spectramon (1983)(ASP Software).tzx in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Utilities & Educational / Sinclair ZX Spectrum - Utilities & Educational - [TZX] (TOSEC-v2007-01-01) /
Back to the directory listing
5 GET INSTRUCTION
4 WORD VALUE
4 BYTE VALUE
3 L$=C$+" ":
3 INDIRECT=0
3 BYTE VALUE:
2 Use IX instead of HL
2 MAKE TEXT:
2 CHECK INDEX:
2 C$=C$+H$(CT
2 Beware end of RAM
1 no operand, format neatly
1 etinstructio
1 and this is the operand
1 Z80 ED codes (40-7F)
1 Z80 CB codes
1 Work out position in O$
1 Work out absolute addr. from offset
1 Wait until key
1 WORD VALUE=5020
1 WORD VALUE:
1 Use IY instead of HL
1 Use (IX) or (IY) instead of (HL)
1 This is the opcode
1 Strip off the 'mode' marker
1 Strip 8th bit (parity or flag)
1 Strip 'H' to keep under 32 columns
1 Start a new screen
1 Standard 8-bit operand
1 Spectramon
1 Set up start address
1 Screen Full - pause
1 Screen Full & print needed
1 STORE at operand address
1 S$="("+N$+"-"+C$+")"
1 S$="("+N$+"+"+C$+")"
1 S$="("+N$+")"
1 Reverse value of LP - Printer flag
1 Reverse value of DEC - Base flag
1 Return to menu
1 Repeat for all opcodes
1 Remove 'H' to shorten line
1 Relative jump offset is operand
1 Reject if address is not numeric!
1 Process in accordance with addr mode
1 Process all the bytes of the instruction
1 Print controls as dots
1 Pretend SPACE was typed
1 Pretend IX & IY aren't needed
1 Port number 0-255 is in operand byte
1 Peculiar code
1 Opcode No.
1 O$(I+J)=O$(I):
1 Nothing typed
1 Not using IX or IY
1 Not special
1 Not a valid ED code
1 No printer
1 No address specified
1 No 'H' here either
1 NOP 3LD BC LD (BC),AINC BC INC B DEC B 2LD B RLCA EX AF,AF'ADD #,BC LD A,(BC)DEC BC INC C DEC C 2LD C RRCA 4DJNZ B 3LD DE LD (DE),AINC DE INC D DEC D 2LD D RLA 4JR ADD #,DE LD A,(DE)DEC DE INC E DEC E 2LD E RRA 4JR NZ 3LD # 8LD # INC # INC H DEC H 2LD H DAA 4JR Z ADD #,# 6LD # DEC # INC L DEC L 2LD L CPL 4JR NC 3LD SP 8LD A INC SP INC * DEC * 2LD * SCF 4JR C ADD #,SP 6LD A DEC SP INC A DEC A 2LD A CCF 1LD B 1LD B 1LD B 1LD B 1LD B 1LD B 1LD B 1LD B 1LD C 1LD C 1LD C 1LD C 1LD C 1LD C 1LD C 1LD C 1LD D 1LD D 1LD D 1LD D 1LD D 1LD D 1LD D 1LD D 1LD E 1LD E 1LD E 1LD E 1LD E 1LD E 1LD E 1LD E 1LD H 1LD H 1LD H 1LD H 1LD H 1LD H 1LD H 1LD H 1LD L 1LD L 1LD L 1LD L 1LD L 1LD L 1LD L 1LD L 1LD * 1LD *
1 NBYTES=NBYTES+INDIRECT:
1 NBYTES=NBYTES+INDIRECT+INDEX:
1 NBYTES=NBYTES+3
1 NBYTES=NBYTES+1
1 Must be at least 1 digit
1 More ED codes (A0-BF)
1 Modify instruction
1 Miscellaneous Z80 operation
1 MAKE TEXT=4000
1 M$=A$+B$+F$(K):
1 M$=A$+B$+C$:
1 M$=A$+B$+C$
1 M$=A$+B$+"("+C$+")":
1 M$=A$+"("+C$+")"+B$:
1 M$="HALT":
1 Longer than expected
1 LOC=LOC+NBYTES:
1 LOC=LOC+16
1 LOC+NBYTES-1
1 LOC+I>65535
1 LD (HL),(HL) doesn't exist - HALT takes its place
1 L$=L$+D$+Z$(1
1 L$=L$+" "+C$(1
1 L$=L$+" "+C$
1 Insert register name
1 Indirect address is in operand
1 Indexed bit operation
1 Implied addressing - no operand bytes
1 Ignore Silly address or command
1 INDIRECT=1
1 IN to port numbered by operand
1 I$=O$(I0+1
1 Hex output
1 Hex characters
1 Hex address?
1 H$="0123456789ABCDEF":
1 Got instruction
1 Get val in LOC
1 Get the real inst. number
1 Get the equivalent HL inst.
1 Get text of opcode
1 Get operand number from inst.
1 Get opcode number
1 Get offset for (IY+offset)
1 Get number
1 Get addressing mode (if special)
1 Get MSB of operand (if any!)
1 Get LSB of operand
1 GET INSTRUCTION=2000
1 Format neatly
1 Force caps lock
1 Force 4 character field
1 Find operand field
1 Find new operand
1 FFF8H 00 42 42 42 42 42 3C 00H
1 Extra byte needed for offset
1 Do another line unless ENTER was typed
1 Display absolute address of target inst.
1 Discard trailing spaces
1 Decimal is easy
1 D$=D$+C$(1
1 Created with Ramsoft MakeTZX
1 Convert hex character to decimal
1 Continue as for IY
1 Compute bitwise inst. number
1 Clear BASIC key buffer
1 Check for abbreviations
1 Can go back or forward
1 CHECK INDEX=1800
1 CHECK INDEX
1 C+LOC>65535
1 C$=H$(CT/16
1 C$=H$(C/16
1 C$=C$+H$(CT/16
1 C$=C$+H$(C
1 Build inst.
1 Build entire instruction text
1 Brackets indicate indirection
1 Brackets indicate address not value
1 Bitwise operation (Z80)
1 BYTE VALUE=5000
1 B$=B$+",":
1 Always use hex (neater)
1 Advance to next instruction
1 Adjust instruction length
1 Add spaces tidily
1 Add instruction to line
1 Add appropriate symbol
1 A$=I$+Z$(1
1 A$="000"+A$(
1 8 bit operand in or pointed to by registers
1 8 bit number is operand
1 8 bit indirect load - special case
1 8 bit indirect bitwise inst.
1 8 bit hex value
1 16 bit number is operand
1 16 bit hex value
1 0123456789ABCDEFA
1 -NBYTES))+" ":
1 ** Z80 Instructions
1 ** Use addressing mode
1 ** Select subroutine
1 ** Numeric dump
1 ** ED codes
1 ** DD codes
1 ** Convert hex to dec
1 ** Convert C to C$
1 ** Command Menu
1 ** Character dump
1 ** CB codes
1 ** Build up o/p line
1 *(H$>"@"):
1 )+S$+M$(I+1
1 )+N$+M$(I+1
1 '"Q Return to ZX BASIC."
1 '"P Printer option (now ";:
1 '"N<address> Numeric dump memory"
1 '"End of memory.":
1 '"D<address> Disassemble Program."
1 '"B Base Selection (now ";:
1 '"A<address> ASCII mem. display."
1 "RST 10H","RET C","EXX","3JP C","5IN A","3CALL C","9","2SBC A","RST 18H","RET PO","POP #","3JP PO","EX (SP),#","3CALL PO","PUSH #","2AND","RST 20H"
1 "RET PE","JP (#)","3JP PE","EX DE,HL","3CALL PE","9","2XOR","RST 28H","RET P","POP AF","3JP PE","DI","3CALL P"
1 "PUSH BC","2ADD A","RST 0","RET Z","RET","3JP Z","9","3CALL Z","3CALL","2ADC A","RST 8H","RET NC","POP DE","3JP NC","7OUT A","3CALL NC","PUSH DE","2SUB A"
1 "PUSH AF","2OR","RST 30H","RET M","LD SP,#","3JP M","EI","3CALL M","9","2CP","RST 38H"
1 "NOP","3LD BC","LD (BC),A","INC BC","INC B","DEC B","2LD B","RLCA","EX AF,AF'","ADD #,BC","LD A,(BC)","DEC BC","INC C","DEC C","2LD C","RRCA","4DJNZ B","3LD DE","LD (DE),A","INC DE"
1 "More? (Enter = NO)":
1 "LDIR","CPIR","INIR","OTIR","9","9","9","9"
1 "LDI","CPI","INI","OUTI","9","9","9","9"
1 "LDDR","CPDR","INDR","OTDR","9","9","9","9"
1 "LDD","CPD","IND","OUTD","9","9","9","9"
1 "INC D","DEC D","2LD D","RLA","4JR","ADD #,DE","LD A,(DE)","DEC DE","INC E","DEC E","2LD E","RRA","4JR NZ","3LD #","8LD #","INC #","INC H","DEC H","2LD H","DAA","4JR Z","ADD #,#"
1 "IN L,(C)","OUT (C),L","ADC HL,HL","6LD HL","9","9","9","RLD"
1 "IN H,(C)","OUT (C),H","SBC HL,HL","8LD HL","9","9","9","RRD"
1 "IN E,(C)","OUT (C),E","ADC HL,DE","6LD DE","9","9","IM 2","LD A,R"
1 "IN D,(C)","OUT (C),D","SBC HL,DE","8LD DE","9","9","IM 1","LD A,I"
1 "IN C,(C)","OUT (C),C","ADC HL,BC","6LD BC","9","RETI","9","LD R,A"
1 "IN B,(C)","OUT (C),B","SBC HL,BC","8LD BC","NEG","RETN","IM 0","LD I,A"
1 "BCDEHL*A"
1 "9","9","SBC HL,SP","8LD SP","9","9","9","9","IN A,(C)","OUT (C),A","ADC HL,SP","6LD SP","9","9","9","9"
1 "6LD #","DEC #","INC L","DEC L","2LD L","CPL","4JR NC","3LD SP","8LD A","INC SP","INC *","DEC *","2LD *","SCF","4JR C","ADD #,SP","6LD A","DEC SP","INC A","DEC A","2LD A","CCF"
1 "1SET 4","1SET 5","1SET 6","1SET 7"
1 "1SET 0","1SET 1","1SET 2","1SET 3"
1 "1RLC","1RRC","1RL","1RR","1SLA","1SRA","9","9","9","9","9","9","9","9","9","1SRL"
1 "1RES 4","1RES 5","1RES 6","1RES 7"
1 "1RES 0","1RES 1","1RES 2","1RES 3"
1 "1LD B","1LD C","1LD D","1LD E","1LD H","1LD L","1LD *","1LD A","1ADD A","1ADC A","1SUB A","1SBC A","1AND","1XOR","1OR","1CP","RET NZ","POP BC","3JP NZ","3JP","3CALL NZ"
1 "1BIT 4","1BIT 5","1BIT 6","1BIT 7"
1 "1BIT 0","1BIT 1","1BIT 2","1BIT 3"
1 Disassembler B
1